﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;

namespace MaterialezMuñoz.clases
{
    public class ManejoUsiarios:MBDSQL
    {
        string query;
        public ManejoUsiarios()
        {
            //Constructor.
        }
        // Metodo para asignar el query de insetar.
        public bool Insertar(Usuarios U)
        {
            query = "insert into usuarios(nombre,apellido,direccion,email,username,pass,tipo_Usu,telefono,rfc) values";
            query += "('" + U.nombreUsu.ToString() + "','";
            query += U.apellidosUsu.ToString() + "','";
            query += U.direccionUsu.ToString() + "','";
            query += U.emailUsu.ToString() + "','";
            query += U.usernameUsu.ToString() + "','";
            query += U.passUsu.ToString() + "',";
            query += U.tipoUsu +",";
            query += U.telUsu + ",'";
            query += U.rfcUsu.ToString() + "')";
            //Revicion de la conexion.
            if (AbrirConexoin())
            {
                //Si la conexion es exitosa envia el query al metodo de la clase MBDSQL EjecutarQuery.
                if (EjecutarQuery(query))
                {
                    CerrarConexion();
                    return true;
                }
                else
                {
                    CerrarConexion();
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
         //Metodo para asignar el query de actualizacion un Cliente.
        public bool Actualizar(Usuarios U)
        {
            query = "update usuarios set ";
            query += "nombre = '" + U.nombreUsu.ToString()+"',";
            query += "apellido = '" + U.apellidosUsu.ToString()+ "',";
            query += "direccion = '" + U.direccionUsu.ToString() + "',";
            query += "email = '" + U.emailUsu.ToString() + "',";
            query += "username = '" + U.usernameUsu.ToString() + "',";
            query += "pass = '" + U.passUsu.ToString();
            query += "telefono = " + U.telUsu.ToString() + ",";
            query += "rfc = '" + U.rfcUsu.ToString() + "'";
            query += "where id_Usu = " + U.claveUsu;
            //Revicion de la conexion.
            if (AbrirConexoin())
            {
                //Si la conexion es exitosa envia el query al metodo de la clase MBDSQL EjecutarQuery.
                if (EjecutarQuery(query))
                {
                    CerrarConexion();
                    return true;
                }
                else
                {
                    CerrarConexion();
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        //Metodo para asignar el query para eliminar un Cliente.
        public bool Borrar(int claveUsu)
        {
            query = "delete from usuarios where id_Usu =" + claveUsu;

            //Revicion de la conexion.
            if (AbrirConexoin())
            {
                //Si la conexion es exitosa envia el query al metodo de la clase MBDSQL EjecutarQuery.
                if (EjecutarQuery(query))
                {
                    CerrarConexion();
                    return true;
                }
                else
                {
                    CerrarConexion();
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        public bool Buscar(int claveUsu)
        {
            query = "select * from usuarios where id_Usu = " + claveUsu;
            //Revicion de la conexion.
            if (AbrirConexoin())
            {
                //Si la conexion es exitosa envia el query al metodo de la clase MBDSQL EjecutarQuery, aqui no se cierra conexion por que mataria el reader.
                if (EjecutarQuery(query))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        public int VerificacionUsuarios(string usu, string pass)
        {

            MySqlDataReader lector;
            MySqlCommand myCommand = new MySqlCommand("SELECT username,tipo_Usu FROM usuarios WHERE username='" + usu + "' AND pass='" + pass + "'", conexion);
            try
            {
                if (AbrirConexoin())
                {
                    lector = myCommand.ExecuteReader();
                    if (lector.Read())
                    {
                        return lector.GetInt32("tipo_usu");

                    }
                    else
                    {

                        return 2;
                    }
                }
                else
                {
                    return 2;
                }
            }
            catch
            { 
                return 2;
            }
        }
    }
}